#include "..\CookHeader.h"

int SIZE = 5;
Array <string> queue;
int front = -1, rear = -1;

bool isQueueFull() {
	if (rear == SIZE - 1)
		return true;
	else
		return false;
}

bool isQueueEmpty() {
	if (front == rear)
		return true;
	else
		return false;
}

void enQueue(string data) {
	if (isQueueFull()) {
		println("ť  áϴ.");
		return;
	}
	rear++;
	queue[rear] = data;
}

string deQueue() {
	if (isQueueEmpty()) {
		println("ť ϴ.");
		return "None";
	}
	front++;
	string data = queue[front];
	queue[front] = "None";

	for (int i = front+1; i < rear+1; i++) { //    ĭ  .
		queue[i - 1] = queue[i];
		queue[i] = "None";
	}
	front = -1;
	rear--;
	return data;
}

string peek() {
	if (isQueueEmpty()) {
		println("ť ϴ.");
		return "None";
	}
	return queue[front+1];
}

int main() {
	for (int i = 0; i < SIZE; i++)
		queue.push_back("None");

	enQueue("");
	enQueue("");
	enQueue("");
	enQueue("");
	enQueue("");
	print("   : ");
	printArray(queue);

	int last = rear + 1; //  մ  ġ
	for (int i = 0; i < last; i++) {
		println(deQueue() + " Ĵ翡 ");
		print("   : ");
		printArray(queue);
	}	

	println("Ĵ  !");
}